package priv.pattern.factory.factorymethod;

import org.junit.Test;
import priv.pattern.factory.factorymethod.abs.Vedoi;
import priv.pattern.factory.factorymethod.impl.CVedioFactory;
import priv.pattern.factory.factorymethod.impl.JavaVedioFactory;
import priv.pattern.factory.factorymethod.impl.PythonVedioFactory;

/*
 * 作者：m鹏h
 * 时间；2024/6/19 11:07
 * 描述：用于测试工厂方法模式
 **/
public class FactoryMethodTest {
    //当有新的类添加到工厂方法中，只需要 添加该类的子类继承抽象类
    //添加该类的工厂继承视频的工厂类即可

    @Test
    public void  test1(){
        //1:创建 Java 视频工厂类  2：调用工厂类创建产品 3：视频生产
         new JavaVedioFactory().getVedoi().yieldVedoi();

        //1:创建 C视频工厂类  2：调用工厂类创建产品 3：视频生产
        new CVedioFactory().getVedoi().yieldVedoi();

        //1:创建 Python视频工厂类  2：调用工厂类创建产品 3：视频生产
        new PythonVedioFactory().getVedoi().yieldVedoi();
    }
}
